

# 解析 json 数据
# 注：只能解析本地 json

import json
import jsonpath

show_json = json.load(open('../files/mi.json','r',encoding='utf-8'))
# print(show_json)

# 手机 所有标题 title
title_list = jsonpath.jsonpath(show_json,'$.mi.phone[*].title')
# print(title_list)
# ['Xiaomi 15', 'Xiaomi 16', 'Xiaomi 17', 'Xiaomi 18', 'Xiaomi 19']

# 手机 所有内容
phone_list = jsonpath.jsonpath(show_json,'$.mi.phone.*')
# print(phone_list)
# [{'title': 'Xiaomi 15', 'price': '1999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 16', 'price': '2999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 17', 'price': '3999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 18', 'price': '4999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 19', 'price': '5999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]

# 手机 所有的价格 price
phone_price = jsonpath.jsonpath(show_json,'$.mi.phone..price')
# print(phone_price)
# ['1999', '2999', '3999', '4999', '5999']

# 所有标题 title
all_title_list = jsonpath.jsonpath(show_json,'$..title')
# print(all_title_list)
# ['Xiaomi 15', 'Xiaomi 16', 'Xiaomi 17', 'Xiaomi 18', 'Xiaomi 19', 'Redmi Book Pro 14 2024', 'Redmi Book Pro 14 2025']


# 手机 第三个
phone3 = jsonpath.jsonpath(show_json,'$..phone[2]')
# print(phone3)
# [{'title': 'Xiaomi 17', 'price': '3999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]

# 手机最后一个
last_phone = jsonpath.jsonpath(show_json,'$..phone[(@.length-1)]')
# print(last_phone)
# [{'title': 'Xiaomi 19', 'price': '5999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]

# 手机前两个
after_phone = jsonpath.jsonpath(show_json,'$..phone[:2]')
# print("手机前两个:",after_phone)
# 手机前两个: [{'title': 'Xiaomi 15', 'price': '1999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 16', 'price': '2999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]

# 筛选 手机 包含 recommend
recommend_phone = jsonpath.jsonpath(show_json,'$..phone[?(@.recommend)]')
# print(recommend_phone)
# [{'title': 'Xiaomi 15', 'price': '1999', 'recommend': '推荐', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]


# 条件  price > "3000"
price_phones = jsonpath.jsonpath(show_json,'$..phone[?(@.price > "2000")]')
# print(price_phones)
# [{'title': 'Xiaomi 16', 'price': '2999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 17', 'price': '3999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 18', 'price': '4999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}, {'title': 'Xiaomi 19', 'price': '5999', 'desc': '徕卡光学 Summilux 高速镜头｜骁龙®8至尊版移动平台｜5400mAh 小米金沙江电池 小米澎湃OS 2｜全生态AI助手 超级小爱｜低功耗超级阳光屏'}]












